# 封装
# class A:
#     def __init__(self):
#         self.a = 10  # 公有属性
#         self._b = 40  # 保护属性
#         self.__c = 80  # 私有属性
#
#     # 公有方法
#     def show_info(self):
#         print(f"A中公有属性a的值{self.a}")  # 打印公有属性
#         print(f"A中保护属性b的值{self._b}")  # 打印保护属性
#         print(f"A中私有属性c的值{self.__c}")  # 打印私有属性
#         self._show()  # 调用类中的保护方法
#         self._info()   # 调用类中的私有方法
#
#     # 保护方法
#     def _show(self):
#         print(f"A中公有属性a的值{self.a}")  # 打印公有属性
#         print(f"A中保护属性b的值{self._b}")  # 打印保护属性
#         print(f"A中私有属性c的值{self.__c}")  # 打印私有属性
#         self._info()  # 类的内部调用私有方法
#
#     # 私有方法
#     def _info(self):
#         print(f"A中私有属性c的值{self.__c}")  # 打印私有属性
#
# # 获取A的实例
# obj_a = A()
# print(obj_a.a)  # 类外面获取A实例的公用属性
# print(obj_a._b)  # 类外面获取A实例的保护属性
# obj_a.show_info()  # 类外面获取A实例的公有方法
# obj_a._show()  # 类外面获取A实例的保护方法  （类外面私有方法不能获取）





